"""如果 a+b+c = 1000 且 a^2 + b^2 = c^2(a,b,c为自然数),如何求解所有a,b,c可能的组合""" 

# 枚举法
import time

d = int(input("输入一个整数: "))

start_time = time.time()

# for a in range(0,d+1):
#     for b in range(0,d+1):
#         for c in range(0,d+1):
#             if a+b+c == d and a**2 +b**2 == c**2:
#                 print("a,b,c:%d %d %d" % (a,b,c))

# 顺序：加法
# 条件(分支)：取分支中的最大时间复杂度
# 循环：乘法
# T = d * d * d * 2(细分:10) T(n) = n^3 * 2 时间复杂度T(n) = n^3

# 加速算法
for a in range(0,d+1):
    for b in range(0,d+1):
        c = d-a-b
        if a+b+c == d and a**2 +b**2 == c**2:
            print("a,b,c:%d %d %d" % (a,b,c)) 

# 顺序：加法
# 条件(分支)：取分支中的最大时间复杂度
# 循环：乘法
# T = d * d * (1 + max(1,0))  T(n) = n^2 * 2 时间复杂度T(n) = n^2

# 每台机器执行的总时间不同，但执行基本运算数量大体相同

end_time = time.time()
print("time : %d" % (end_time-start_time))